package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.topevery.garden.entity.po.GreTransplantFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * 占绿移植信息管理表 视图
 *
 * @author code-generate
 * @date 2023-03-03
 */
@Data
@ApiModel(value = "GreTransplant 视图", description = "占绿移植信息管理表 视图")
public class GreTransplantVO extends ExcelImportVO implements Serializable {
    /**
     * 自增id
     */
    private Integer id;

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号")
    @Excel(name = "编号", orderNum = "0")
    private String code;

    /**
     * 占绿事由
     */
    @ApiModelProperty(value = "占绿事由")
    @Excel(name = "占绿事由", orderNum = "0")
    private String reason;

    /**
     * 占绿方
     */
    @ApiModelProperty(value = "占绿方")
    @Excel(name = "占绿方", orderNum = "0")
    private String occupant;

    /**
     * 占绿地点
     */
    @ApiModelProperty(value = "占绿地点")
    @Excel(name = "占绿地点", orderNum = "0")
    private String occupyAddress;

    /**
     * 占绿类型 1行道树、2道路附属绿地、3公园绿地
     */
    @ApiModelProperty(value = "占绿类型 1行道树、2道路附属绿地、3公园绿地")
    @Excel(name = "占绿类型", orderNum = "0", replace = {"行道树_1", "道路附属绿地_2", "公园绿地_3"})
    private Integer type;

    /**
     * 占绿内容
     */
    @ApiModelProperty(value = "占绿内容")
    @Excel(name = "占绿内容", orderNum = "0")
    private String desc;

    /**
     * 占绿性质 1临时 2永久
     */
    @ApiModelProperty(value = "占绿性质 1临时 2永久")
    @Excel(name = "占绿性质", orderNum = "0", replace = {"临时_1", "永久_2"})
    private Integer attribute;

    /**
     * 占绿开始时间
     */
    @ApiModelProperty(value = "占绿开始时间")
    @Excel(name = "占绿开始时间", orderNum = "0")
    private LocalDate startDate;

    /**
     * 建设结束时间 如果是永久，时间为“（xx年xx月xx日起至长期）
     */
    @ApiModelProperty(value = "建设结束时间 如果是永久，时间为“（xx年xx月xx日起至长期）")
    @Excel(name = "占绿结束时间", orderNum = "0")
    private LocalDate endDate;

    /**
     * 实际移植时间
     */
    @ApiModelProperty(value = "实际移植时间")
    @Excel(name = "实际移植时间", orderNum = "0")
    private LocalDate transplantDate;

    /**
     * 缴款金额/元
     */
    @ApiModelProperty(value = "缴款金额/元")
    @Excel(name = "缴款金额/元", orderNum = "0")
    private Double price;

    /**
     * 移植施工方
     */
    @ApiModelProperty(value = "移植施工方")
    @Excel(name = "移植施工方", orderNum = "0")
    private String construction;

    /**
     * 移植地点
     */
    @ApiModelProperty(value = "移植地点")
    @Excel(name = "移植地点", orderNum = "0")
    private String transplantAddress;

    /**
     * 项目经办人姓名
     */
    @ApiModelProperty(value = "项目经办人姓名")
    @Excel(name = "项目经办人姓名", orderNum = "0")
    private String signature;

    /**
     * 项目经办人电话
     */
    @ApiModelProperty(value = "项目经办人电话")
    @Excel(name = "项目经办人电话", orderNum = "0")
    private String phone;

    @ApiModelProperty("各类型附件")
    private List<GreTransplantFile> fileList;
}
